

#ifndef CONFIGOPERATORMAP_H
#define CONFIGOPERATORMAP_H

#include "ConfigOperatorIf.h"


namespace woe
{
	class TUTIL_API ConfigOperatorMap : public IConfigOperator
	{
	public:
		ConfigOperatorMap();
		virtual ~ConfigOperatorMap();

		virtual bool Get(const std::string& key, int& nVal) const;

		virtual bool Get(const std::string& key, float& fVal) const;

		virtual bool Get(const std::string& key, std::string& strVal) const;

		virtual bool Set(const std::string& key, const int& nVal);

		virtual bool Set(const std::string& key, const float& fVal);

		virtual bool Set(const std::string& key, const std::string& strVal);

		virtual bool GetNext(std::string& key, std::string& value );

	private:
		typedef std::map<std::string, std::string> ConfigDataMap;
		typedef	ConfigDataMap::const_iterator			   ConfigDataMapIter;

		ConfigDataMap m_configData;

	};
}

#endif // CONFIGOPERATORMAP_H
